perm filename NEXT[C,JRA] blob
sn#013567 filedate 1972-11-21 generic text, type T, neo UTF8
(DEFPROP NEXT
(LAMBDA(L)
(PROG NIL
(SETQ L (/, POSSIBILITIES))
(COND ((OR (ATOM L) (NOT (EQ (CAAR L) (QUOTE *POSSIBILITIES)))) (CERR BAD POSSIBILITIES LIST)))
(RETURN
(PROG (P)
(COND ((NULL (CDR L)) (RETURN (QUOTE EXIT))))
(UNBLOCK (CDR L))
TN (RPLACD L (CDDR L))
(COND ((NULL (CDR L)) (RETURN (QUOTE EXIT)))
((EQ (SETQ P (CADR L)) (QUOTE *IGNORE)) (GO TN))
((ATOM P) (CSET (QUOTE POS) P) (RETURN (QUOTE RETURN)))
((EQ (CAR P) (QUOTE *ITEM)) (SETUP (CADDR P))
(CSET (QUOTE POS) (CADR P))
(RETURN (QUOTE RETURN)))
((EQ (CAR P) (QUOTE *NOTE)) (SETUP (CADR P)) (CSET (QUOTE POS) P) (RETURN (QUOTE RETURN)))
((MEMQ (CAR P) (QUOTE (*METHOD *GENERATOR *AU-REVOIR *BLOCK))) (RETURN (CAR P)))
(T (CSET (QUOTE POS) P) (RETURN (QUOTE RETURN))))))))
FEXPR)